The present disclosure relates generally to methods and apparatus for a computer aided drafting and design system, and more particularly, to the representation of objects in such a system. Computer aided design (CAD) systems use computers to assist in the design and testing of parts for a variety of applications ranging from large mechanical structures to tiny integrated circuits. CAD systems are equipped with efficient computer equivalents of many common drawing and drafting tools, thus liberating the user from countless tedious drafting details. An important time saving feature of many CAD systems is that sectional views and other auxiliary views can be automatically generated by the computer from an existing view, and the object being worked on can be automatically resized or rotated.
Typically, the user of the CAD system (the "drafter") enters a visual representation of the object(s) under design into the computer using the interface of the particular CAD system, and the CAD system stores the object(s) and their associated dimensions in a specialized format. The choice of format used to store the object(s) is not a trivial one. In particular, it is desirable to easily manipulate the dimensions of an object, and to easily identify and manipulate groups of related dimension parameters, such as groups of related dimension lines. For example, if one desires to enlarge the 2.times.2 square shown in FIG. 1A to the 4.times.4 square shown in FIG. 1B, one way to do it is to manually change the dimension and the position of each line in the square. Another equivalent way, supported by most CAD systems, is to specify to the CAD system the four lines to be modified, and then to scale the dimension of each line by a factor of two. However, in addition to selecting the four lines, it is also necessary to specify the final position of the scaled square, or a point about which to scale the selected object. Otherwise, merely scaling the lines could result in ambiguous results, as shown in FIGS. 1C and 1D.
As illustrated above, conventional CAD systems may require the drafter, when modifying an object, to tediously manipulate dimension lines of each entity (e.g., lines, circles, arcs, text) of the object, such as the manipulation of the dimension of each line of the square shown in FIG. 1A. Attempts have been made to correlate related dimensions and thus automate the modification of the related dimensions. For example, U.S. Pat. No. 5,548,706 to Koizumi et al. discloses a CAD system for manipulating multiple, parallel dimension lines. In Koizumi et al., the CAD operator selects one of the parallel lines as the "objective dimension line," and defines a reference point of the objective line (defined as beginning, middle, or end) to make subsequent changes. Subsequent changes to the objective dimension line (such as scaling) are also made to the other parallel dimension lines based on the reference point chosen for the objective line. Systems as described in Koizumi et al. are limited, however, in that because only one line is defined as an objective dimension line, only a single parameter can be used to describe multiple dimension lines. Further, the concept described in Koizumi et al. is only applicable to linear dimensions while CAD systems often specify objects with other, non-linear dimensional information such as angular dimensions.
Thus, there is a need for a CAD system method and apparatus which provides the capability to efficiently and conveniently dimension and manipulate related geometrical entities of an object in both two and three dimensions.